// pages/login/login.js
import auth from "../../utils/auth"
import keleHttp from "../../utils/keleHttp"
Page({

    /**
     * 页面的初始数据
     */
    data: {
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },
    /**
     * 小程序登录
     */
    login() {
        console.log("==========登录了===========");
        var that = this
        wx.login()
            .then((res) => {
                if (res.errMsg != "login:ok") {
                    wx.$showMsg("登录失败！");
                    return;
                }
                //get请求
                return wx.Khttp.get("/getCode/" + res.code);
            })
            .then(res => {
                var data = res.data.data;
                wx.setStorageSync('vl_token',data.token)
                wx.setStorageSync('vl_sessionKey',data.sessionKey)
            })
            .catch(err => {
                console.log(err);
                wx.showToast({
                  title: '网络错误！',
                  icon: 'error'
                })
            })
    },
    /**
     * 点击我是志愿者按钮
     */
    submit() {
        var data = {}
        wx.getUserProfile({
                desc: '登录',
            })
            .then(res => {
                var sessionKey = wx.getStorageSync('vl_sessionKey')
                data = {
                    encryptedData: res.encryptedData,
                    iv: res.iv,
                    signature: res.signature,
                    sessionKey: sessionKey,
                    accountSource: 'VOLUNTEER'
                }
                return wx.Khttp.post("/parseData", data)
            })
            .then(res => {
                if(res.data.code != 203){
                    wx.redirectTo({
                      url: '/pages/finishInfo/finishInfo',
                    })
                }
                if(res.data.code == 203){
                    wx.switchTab({
                      url: '/pages/index/index',
                    })
                }
            })
            .catch(err=>{
                wx.showToast({
                  title: '请求失败',
                  icon: 'error'
                })
            })
    },
    /**
     * 点击招募志愿者
     */
    submitEmployer() {
      var data = {}
      wx.getUserProfile({
              desc: '登录',
          })
          .then(res => {
              var sessionKey = wx.getStorageSync('vl_sessionKey')
              data = {
                  encryptedData: res.encryptedData,
                  iv: res.iv,
                  signature: res.signature,
                  sessionKey: sessionKey,
                  accountSource: 'EMPLOYER'
              }
              return wx.Khttp.post("/parseData", data)
          })
          .then(res => {
              if(res.data.code != 203){
                  wx.redirectTo({
                    url: '/pages/efinish/efinishinfo.wxml',
                  })
              }
              if(res.data.code == 203){
                  wx.switchTab({
                    url: '/pages/index/index',
                  })
              }
          })
          .catch(err=>{
              wx.showToast({
                title: '请求失败',
                icon: 'error'
              })
          })
  },
    /**
     * 判断是否补全过信息
     */
    async isFinished() {
        const res = await wx.Khttp.get("/validateToken")
        var code = res.data.code;
        if(code == 200){
            return true;
        }
        //如果第二次信息补全过,直接进入第三次信息采集页面
        if(code == 206){
          wx.redirectTo({
            url: '/pages/finishInfo/finishInfo',
          })
        }
        if(code == 208){
          wx.redirectTo({
            url: '/pages/efinish/efinish',
          })
        }
        if(code == 400){
            wx.redirectTo({
              url: '/pages/login/login',
            })
        }else{
           return false;
        }
    },
    /**     
     * 点击我要发布招募信息按钮
     */
    recruit() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        //token失效 则重新登录
        auth.auth()
        .then(res=>{
            if(!res){
                this.login()
            }else{
                this.isFinished()
            }
        })
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})